var util = require('../../../utils/util.js');
var api = require('../../../config/api.js');
var check = require('../../../utils/check.js');

var app = getApp();
Page({
  data: {
    username: '',
    password: '',
    confirmPassword: '',
    mobile: '',
    code: '',
    share: '',
    codeBtnMsg: '获取验证码',
    timer: null,
    inputNo: false,
  },
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
    // 页面渲染完成
    let shareId = wx.getStorageSync('shareId')
    if (shareId) {
      util.request(api.AuthUserPhone + '?userId=' + shareId).then(res => {
        if (res.data.mobile) {
          this.setData({
            share: res.data.mobile,
            inputNo: true
          })
        } else {
          this.setData({
            share: shareId,
            inputNo: true
          })
        }
      })
    }
  },
  onReady: function () {

  },
  onShow: function () {
    // 页面显示

  },
  onHide: function () {
    // 页面隐藏

  },
  onUnload: function () {
    // 页面关闭

  },
  sendCode: function () {
    let that = this;
    if (that.data.timer) {
      return false
    }
    if (this.data.mobile.length == 0) {
      wx.showModal({
        title: '错误信息',
        content: '手机号不能为空',
        showCancel: false
      });
      return false;
    }
    let num = 60
    that.data.timer = setInterval(() => {
      if (that.data.codeBtnMsg === '0s') {
        clearInterval(that.data.timer)
        that.setData({
          timer: null,
          codeBtnMsg: '获取验证码'
        })
        return
      }
      that.setData({
        codeBtnMsg: (num--) + 's'
      })
    }, 1000);

    wx.request({
      url: api.AuthRegisterCaptcha,
      data: {
        mobile: that.data.mobile
      },
      method: 'POST',
      header: {
        'content-type': 'application/json'
      },
      success: function (res) {
        if (res.data.errno == 0) {
          wx.showModal({
            title: '发送成功',
            content: '验证码已发送',
            showCancel: false
          });
        } else {
          wx.showModal({
            title: '错误信息',
            content: res.data.errmsg,
            showCancel: false
          });
        }
      }
    });
  },
  requestRegister: function (wxCode) {
    let that = this;
    let data = {
      username: that.data.username,
      password: that.data.password,
      mobile: that.data.mobile,
      code: that.data.code,
      recommender: that.data.share.length < 11 ? '' : that.data.share,
      wxCode: wxCode
    }
    let shareId = wx.getStorageSync('shareId')
    if (shareId) {
      data['id'] = shareId
    }
    wx.request({
      url: api.AuthRegister,
      data: data,
      method: 'POST',
      header: {
        'content-type': 'application/json'
      },
      success: function (res) {
        if (res.data.errno == 0) {
          wx.showToast({
            title: '注册成功',
            icon: 'success',
            mask: true,
            success() {
              setTimeout(() => {
                wx.navigateBack({
                  delta: 0,
                })
              }, 1500);
            }
          })
        } else {
          wx.showModal({
            title: '错误信息',
            content: res.data.errmsg,
            showCancel: false
          });
        }
      },
      fail(err) {
        console.log(err);
      }
    });
  },
  startRegister: function () {
    var that = this;
    if (this.data.username.length < 2) {
      wx.showModal({
        title: '错误信息',
        content: '用户名不得少于2位',
        showCancel: false
      });
      return false;
    }

    if (this.data.password.length < 6) {
      wx.showModal({
        title: '错误信息',
        content: '密码不得少于6位',
        showCancel: false
      });
      return false;
    }

    if (this.data.password != this.data.confirmPassword) {
      wx.showModal({
        title: '错误信息',
        content: '确认密码不一致',
        showCancel: false
      });
      return false;
    }

    if (this.data.mobile.length == 0 || this.data.code.length == 0) {
      wx.showModal({
        title: '错误信息',
        content: '手机号和验证码不能为空',
        showCancel: false
      });
      return false;
    }

    wx.login({
      success: function (res) {
        if (!res.code) {
          wx.showModal({
            title: '错误信息',
            content: '注册失败',
            showCancel: false
          });
        }
        that.requestRegister(res.code);
      }
    });
  },
  bindUsernameInput: function (e) {

    this.setData({
      username: e.detail.value
    });
  },
  bindPasswordInput: function (e) {

    this.setData({
      password: e.detail.value
    });
  },
  bindConfirmPasswordInput: function (e) {

    this.setData({
      confirmPassword: e.detail.value
    });
  },
  bindMobileInput: function (e) {

    this.setData({
      mobile: e.detail.value
    });
  },
  bindCodeInput: function (e) {

    this.setData({
      code: e.detail.value
    });
  },
  bindShareInput: function (e) {

    this.setData({
      share: e.detail.value
    });
  },
  clearInput: function (e) {
    switch (e.currentTarget.id) {
      case 'clear-username':
        this.setData({
          username: ''
        });
        break;
      case 'clear-password':
        this.setData({
          password: ''
        });
        break;
      case 'clear-confirm-password':
        this.setData({
          confirmPassword: ''
        });
        break;
      case 'clear-mobile':
        this.setData({
          mobile: ''
        });
        break;
      case 'clear-code':
        this.setData({
          code: ''
        });
        break;
      case 'clear-share':
        this.setData({
          share: ''
        });
        break;
    }
  }
})